home *** CD-ROM | disk | FTP | other *** search
-
- KALKULATOR - ABOUT THE PROGRAM
- =====================================
-
-
- You can buy a decent scientific calculator in your drugstore for
- $15 or less. Put it next to your computer's keyboard - and why
- bother with any calculator program?
-
- This means that a program of this kind, in order to be more than
- just a gadget, has to have features you will not find in any
- calculator. Here I will try to convince you that Kalkulator is
- such an application, although, of course, ultimately you will be
- the judge.
-
- What follows is a brief listing of Kalkulator's features.
-
-
- 1. EXPRESSION EVALUATION
-
- On most calculators (with a notable exception of some Sharp and
- Casio models) an expression is being evaluated while you are
- entering it. As soon as the next operand (numeric value) has been
- entered, you do not see the previous one(s). Upon completion of
- an expression, you cannot really see what went into it. If you
- make (or suspect) an error, everything has to be re-entered from
- the beginning.
-
- In Kalkulator the whole expression is entered first in a notation
- very much like that used on paper. Only when the expression has
- been entered, you compute it. The expression stays there, and at
- any moment you can review it, modify and recompute. More, you can
- switch between six different expressions at a time (twenty-four
- in the registered version).
-
- More, Kalkulator allows you to enter expressions into dialog boxes
- wherever a numerical input is expected. For example, you can plot
- a function from Pi/3-A to Pi+2A without precomputing the graph
- limits.
-
-
- 2. FUNCTION SET
-
- Kalkulator has more functions that any competition I am aware of
- (and, certainly, more than some "ultimate Windows calculators",
- boasting "logarithms, power, pi and much more" - no, I am not
- inventing this!):
-
- - 39 standard functions: logarithmic and exponential (base e, 10
- and 2), trigonometric and inverse, hyperbolic and inverse,
- square, cube and corresponding roots, some handy utility
- functions (like fractional part, absolute value etc.).
-
- - 4 Euler (or related) functions: gamma, logarithmic gamma, beta,
- combinations (the factorial operator is also provided)
-
- - 44 statistical distribution functions for eight most commonly
- used distributions; this includes left, right and central
- distribution integrals and functions inverse to distribution
- integrals (the latter, so commonly used in statistics, cannot be
- found in any calculator, regardless of the price)
-
- - 3 random generator functions (uniform, Normal, Poisson) to
- perform statistical what-if calculations
-
- - 3 conditional functions (e.g., "if the first argument is
- negative, take the second one, else take the third")
-
- - 3 mixed-unit entry functions: pounds/ounces, feet/inches,
- hours/ minutes/seconds
-
- - 12 user defined functions of one, two or three arguments
-
- All these add up to more than 100 functions, computed, when only
- possible, with not less than 18 decimal digits of accuracy
- (although only 16 digits of the final result are displayed, and
- for a good reason).
-
-
- 3. RESULT REFORMATTING
-
- Any result can be displayed in a number of formats:
-
- - Fixed- and floating point with a user-selectable number of
- digits (you can also let the program decide)
-
- - Whole part and fraction, e.g., "8 9/17"
-
- - Pounds, ounces and a fraction, e.g. "3 7 9/16"
-
- - Feet, inches and a fraction, similar to the above
-
- - Degrees, minutes and seconds of angle
-
- - Decimal degrees of angle, same for minutes or seconds
-
- - Hours, minutes and seconds of time
-
-
- 4. VARIABLES
-
- Results of calculations can be stored in variables (memories),
- denoted as A..Z. These variables can then be used in other
- expressions.
-
-
- 5. UNIT CONVERSION
-
- Any calculation result can be converted between different
- measurement units. Conversions for area, energy, force, length,
- mass, power, pressure, speed, temperature, time and volume are
- provided.
-
- In addition, a number of physical constants have been defined in
- the program. Possibly, not many users will need this feature,
- but all it costs you is just the space for one button.
-
-
- 6. NUMERICAL OPERATIONS
-
- Kalkulator will take a function typed in as an expression and
- perform on it the following numerical operations:
-
- - Numerical integration over a given interval
-
- - Computing a derivative at a given point
-
- - Computing a sum within given argument limits, with a given step
-
- - Find a zero of the function, i.e. solve an equation f(x)=0
- inside a given interval
-
- If you do not need these operations, just ignore them: all they
- take is another four small buttons at the bottom of the screen.
-
-
- 7. POLYNOMIAL ROOTS
-
- Kalkulator computes roots (real or complex) of polynomial
- equations with real coefficients, e.g. c0+c1*t+c3*t^2=0.
- Equations up to the third degree (fourth in registered copies of
- the program) can be solved.
-
-
- 8. SYSTEMS OF NON-LINEAR EQUATIONS
-
- Kalkulator will solve, or at least attempt to solve, a system
- of up to 9 simultaneous non-linear equations with the same
- number of unknowns. The Newton-Raphson method is used and, for
- well-behaved equations, 17 or 18 digit accuracy is provided.
-
- 9. FUNCTION OPTIMIZATION
-
- Given a function of up to nine arguments, Kalkulator will search
- for its extremum (minimum or maximum), starting from a given
- initial guess. The robust downhill simplex algorithm is used here.
-
- 10. FUNCTION GRAPHS
-
- A function defined as an expression can be plotted within a given
- x-range; the y-range can be entered manually or computed and
- rounded by the program. A number of functions can be plotted on
- a single graph canvas, either one by one or simultaneously.
-
- The plotting algorithms are quite smart, making necessary
- adjustments to the local line curvature and being capable of
- handling points or areas where the function is not computable.
- You can invent a function formula to fool any plotting algorithm,
- but Kalkulator's is more difficult to fool than most, at least
- those I'm aware of.
-
- There is a provision to add coordinate grid, and the graph can be
- saved to the Windows clipboard for use in other programs.
-
-
- 11. STATISTICAL OPERATIONS
-
- Kalkulator has a data buffer, capable of storing single data
- values (X points) or 64 pairs of values (XY points). Simple
- statistical and/on graphic operations can be performed on the
- data:
-
- - computing the population parameters: mean, variance, standard
- deviation, minimum and maximum values, covariance (for XY points)
-
- - drawing a data histogram (X points)
-
- - drawing a scatter plot (XY points), computing linear or square
- regression coefficients and adding the regression line to the
- plot
-
- - computing the "goodness of fit" statistics for data distribution
- (chi-square, likelihood) or curvilinear regression (sum of squares
- or of absolute values)
-
- The data values and the computed parameters can then be used in
- any Kalkulator expressions.
-
- You can also define a formula to compute the X or Y values; this
- formula may also refer to any points in the buffer.
-
- [The registered version of Kalkulator adds some capabilities
- here: the data buffer has the capacity of 6400/3200 data points,
- and the program will do polynomial regression up to the ninth
- degree. It also allows for saving the data to (or reading from)
- an ASCII file.]
-
- 12. DATA POINT AND DISTRIBUTION FITTING
-
- Kalkulator will fit tha data stored in the buffer with an
- arbitrary function with up to nine free parameters.
-
- - A population of values can be fitted with any distribution
- density function using the chi-square or maximum likelihood
- best fit definition
-
- - A set of XY data points can be fitted with any curvilinear
- regression function minimizing the sum of squared or absolute
- deviations.
-
-
- 13. LINEAR ALGEBRA
-
- Kalkulator performs elementary linear algebra operations:
- vector and matrix arithmetic's, matrix inversion, solving
- systems of simultaneous linear equations.
-
- The elements of vectors and matrices can be also used as
- components of arithmetic expressions in all other Kalkulator
- operations.
-
- 14. COMPUTER MATH
-
- A separate small panel serves as an add-on RPN computer math
- calculator to perform arithmetic operations on integers of a
- finite bit length (8, 16 or 32 bits) in various input/display
- modes (binary, octal, hexadecimal, decimal). Unsigned and
- signed (twos complement) modes are supported.
-
- 15. THE USER INTERFACE, LOOK AND FEEL
-
- Too many programs throw in lots of features and a kitchen sink,
- to the point when navigation through program features becomes
- confusing (not to say irritating). In the case of Kalkulator the
- major design principle was that the user should not be hampered
- by the features he/she does not access.
-
- This is, of course, a highly subjective issue, but Kalkulator at
- least makes a honest attempt in this area. Many of the less-used
- functions or operations are accessed from tabbed panels. When not
- in use, only a tab reminds the user about their existence. The
- buttons for more advanced operations (like, say, numerical
- integration) can be hidden (which also saves you the valuable
- screen space).
-
- All operations, without a single exception, can be performed
- without the mouse, using the keyboard only. This was done
- primarily with laptop users in mind.
-
- Another nice option allows to shrink Kalkulator vertically to not
- much more than two lines of text - just enough space to enter the
- expression and to see the result. You may find this feature handy
- when using the program while working on some document. (Yes, cut
- and paste operations are, of course, supported.)
-
- Last but not least, two different display fonts are provided: one
- suitable for the not-so-sharp CRT monitors, and another primarily
- (but not only) for the super-sharp active matrix displays.
-
-
- 16. FAULT TOLERANCE
-
- Kalkulator traps internally all user errors. If you attempt an
- illegal operation, you will get just a message with the error
- diagnostics.
-
- For expression syntax errors, the input cursor will be placed at
- the offending expression element, so that correcting the problem
- is quite easy. (Compare this with the "E------" display you see
- on the "regular" calculators.)
-
-
- 17. PERSISTENCE
-
- When you exit the program, the current status of all operations
- and the data is saved to a disk file. Next time you run the
- program, you will be able to pick up from the place you left it.
-
- You can also save or reload the program status at any time.
-
-
- 18. ON-LINE HELP
-
- Yes, of course. Kalkulator comes with a standard Windows help
- file, quite detailed and comprehensive. Good-looking, too.
-
-
- THINGS KALKULATOR DOES NOT DO
-
- - Calculations on complex numbers (except of those mentioned
- in [8])
-
- - Systems of differential equations
-
- - Symbolic algebra
-
- - Financial math (compound interest, pay-offs etc.)
-
- - Programmability (loops, branching)
-
- - Plotting two-, three- and n-dimensional surfaces
-
- - Bessel functions, elliptic integrals
-
- - Your homework
-
- Depending on your response, some of these features may be
- implemented in the future releases (some have been taken from
- this list in the last two years); check my Web page every
- two months or so. Some will, however, never make it into the
- program: symbolic algebra, financial math, advanced plotting.
-
- Many of these features (especially, symbolic algebra) are
- implemented in the most impressive Texas Instruments TI-92
- calculator (sold at $190 or so). I use it occasionally and I
- recommend it very highly. If you are into more serious math,
- you have to have a look at the TI-92. Still, as a software
- engineer and applied mathematician, for most of my daily tasks
- I prefer Kalkulator (don't trust me here as I wrote it; better
- check for yourself).
-
-
- ADDITIONAL NOTES
-
- Kalkulator has been developed for about ten years:
- the general concept and much of the user interface are
- inherited from "El_Cal - an Elementary Calculator", quite popular
- in the Atari ST environment (and still the most powerful program
- of its kind; Kalkulator is only getting there). El_Cal has been
- under permanent development between 1988 and 1993 (at that time
- the ST could run circles around PC clones!).
-
- The expression parser, graphing algorithms and a major part of
- the internal program logic are the same as in Ex, a scientific
- and engineering program for the HP LX Palmtop computers. This
- program, released in 1993 and still being supported, became one
- of the more popular pieces of software on the HP LX platform (at
- least judging from the number of CompuServe downloads).
-
- Finally, most of the numerical algorithms used in Kalkulator have
- been developed and refined in the last 20 years or so, in the
- course of my various home and job-related projects. Some of them,
- in addition to being used in the programs mentioned above, might
- already have affected your life, being a part of various U.S.
- Government projects. (Although a physicist by education, I am
- making my life as a software engineer.)
-
- The only really new part of Kalkulator is the Windows user
- interface. The rest of the program has been around.
-
- ###
-